// License Notification
//======================================================
// Copyright (c) 2010 Channel Intelligence Inc.
// All rights reserved. This program and the accompanying materials
// are made available under the terms of the Eclipse Public License v1.0
// which accompanies this distribution, and is available at
// http://www.eclipse.org/legal/epl-v10.html
//
// ======================================================




namespace CIP4.RulesEngine
{
    public enum ActionOperatorEnum
    {
        /// <summary> 
        /// Assigns whatever is in the Right element to the element with the name matching the Left element
        /// </summary>
        ASSIGN = 0,
        /// <summary> 
        /// Excludes the element with the name matching the Left element from the current record
        /// </summary>
        REMOVEFIELD = 1,
        /// <summary> 
        /// Runs the sub name provided in the Left operand using the function body provided in the Right operand. The subroutine 
        ///            must be a parameterless sub (i.e. not a function) and will be invoked with the DataPacketType.NamedValues as a part 
        ///            of the execution context.
        /// </summary>
        RUN = 7,
        /// <summary>
        /// Creates a new item of the type provided by the left operand
        /// </summary>
        CREATEITEM = 8,
        /// <summary>
        /// Adds a message to the current item
        /// First parameter is severity and must be "Error", "Warning" or "Informational", 
        /// second parameter is the message
        /// </summary>
        ADDITEMMESSAGE = 9,
        /// <summary>
        /// Adds a property message to the current item
        /// First parameter is severity and must be "Error", "Warning" or "Informational", 
        /// second parameter is the message, third parameter is the property name
        /// </summary>
        ADDPROPERTYMESSAGE = 10,
        /// <summary>
        /// Adds a message to the current item 
        /// First parameter is the message number
        /// Second parameter is the domain for the organization that defines the message
        /// Third parameter is the severity and must be "Error", "Warning" or "Informational", 
        /// Fourth parameter is the message
        /// Optional fifth, sixth and seventh parameters are additional information specific to the message type
        /// </summary>
        ADDMESSAGE = 11,
        INVALIDOP = 99,
    }
}
